Digital media editing

ABSTRACT

Implementations are directed to providing an edit profile including one or more suggested edits to a digital video, actions including receiving metadata associated with the digital video, the metadata including data representative of one or more of movement and an environment associated with recording of the digital video, processing the metadata to provide a suggested edit profile including at least one set of effects, the at least one set of effects including one or more effects configured to be applied to at least a portion of the digital video, providing a respective graphical representation of individual effect of the one or more effects within an effect interface, and receiving, through the effect interface, a user selection of a set of effects of the suggested edit profile, and in response, storing, in computer-readable memory, an edit profile comprising the set of effects for application to the digital video.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. 62/291,336, filed Feb. 4,2016, the disclosure of which is incorporated herein by reference intheir entireties.

BACKGROUND

Digital cameras may be used to capture digital videos in a variety ofsettings. In view of the availability of expanded digital memory, userstend to capture more videos, and increasingly longer videos, as memoryconsumption becomes less of a concern. Increasing number and length ofvideos, however, results in inefficiencies in management of videolibraries.

Manual review of videos to identify scenes the user finds exciting,entertaining, or otherwise interesting for view may be both timeconsuming, and resource intensive. For example, scrolling throughmultiple videos of various lengths to find such scenes burdensprocessors, memory, and battery of computing devices, such as mobilecomputing devices. Automated video processing technologies have beendeveloped to identify scenes potentially interesting to the user.However, such video processing technologies may be resource-intensive,particularly with high-resolution, raw-format video data.

Further, after identifying an interesting scene, the user may wish toedit the scene using a digital editing environment. For example, theuser may edit the scene to include effects (e.g., slow motion, zoom-in,zoom-out, color effects, and the like), which may enhance the scene, orotherwise affect user enjoyment of the scene. However, the user mayundergo a trial-and-error process of adding/removing effects indifferent combinations, and/or with different effect attributes. Suchediting processes may be time and resource intensive, thereby burdeningprocessors, memory, and battery of computing devices, such as mobilecomputing devices.

SUMMARY

This specification generally relates to digital media editing. Moreparticularly, implementations of the present disclosure are directed toproviding suggested edits to one or more moments captured in a digitalvideo.

In some implementations, actions include receiving metadata associatedwith the digital video, the metadata including data representative ofone or more of movement and an environment associated with recording ofthe digital video, processing the metadata to provide a suggested editprofile including at least one set of effects, the at least one set ofeffects including one or more effects configured to be applied to atleast a portion of the digital video, providing a respective graphicalrepresentation of individual effect of the one or more effects within aneffect interface, and receiving, through the effect interface, a userselection of a set of effects of the suggested edit profile, and inresponse, storing, in computer-readable memory, an edit profilecomprising the set of effects for application to the digital video.Other embodiments of these aspects include corresponding systems,apparatus, and computer programs, configured to perform the actions ofthe methods, encoded on computer storage devices.

These and other embodiments may each optionally include one or more ofthe following features: a processing the metadata to provide a suggestededit profile includes determining that at least one attribute valuebreaches a threshold, and in response, providing the at least one set ofeffects; processing the metadata to provide a suggested edit profileincludes determining a type of effect to include in the at least one setof effects based on the metadata; determining a type of effect includescomparing at least one metadata value to a threshold value, and one of:including a first effect in the at least one set of effects if themetadata value breaches the threshold value, and including a secondeffect in the at least one set of effects if the metadata value does notbreach the threshold value; each effect is associated with one or moreattributes; actions further include receiving user input indicating amodification to at least one attribute; an attribute includes one of adegree of a respective effect, a beginning of a respective effect, anend of a respective effect, and a duration of a respective effect; theat least one set of effects is associated with an event that isidentified as an event of interest based on the metadata; the at leastone set of effects is associated with an event that is not identified asan event of interest based on the metadata; an effect includes slowmotion, fast forward, zoom-in, zoom-out, a color effect, a sound effect,insertion of a music track, a volume effect, a pixilation effect; andthe metadata is provided from one or more of a mobile processing device,a digital media device, and an ancillary device.

The details of one or more implementations of the subject matterdescribed in this specification are set forth in the accompanyingdrawings and the description below. Other potential features, aspects,and advantages of the subject matter will become apparent from thedescription, the drawings, and the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1A and 1B illustrate an example mobile processing device.

FIG. 2 depicts an example architecture in accordance withimplementations of the present disclosure.

FIGS. 3A and 3B depict example screenshots of a digital media editingapplication in accordance with implementations of the presentdisclosure.

FIG. 4 depicts an example process that may be executed in accordancewith implementations of the present disclosure.

Like reference numbers represent corresponding parts throughout.

DETAILED DESCRIPTION

Implementations of the present disclosure are generally directed tovideo editing applications. More particularly, implementations of thepresent disclosure are directed to providing one or more suggested editsto a digital video. In some examples, one or more suggested edits areprovided for respective moments captured in the digital video. In someexamples, a moment includes a scene, or multiple scenes recorded in thedigital video. In some examples, each moment includes a plurality offrames of the digital video. In some implementations, a suggested editmay include one or more effects that may be applied to a respectivemoment, and are provided based on meta-data corresponding to the digitalvideo. In some examples, a user may select the suggested edit to beapplied to the moment. In some examples, the user may modify thesuggested edit to provide a modified suggested edit, which may beapplied to the moment.

As described in further detail herein, implementations of the presentdisclosure may include actions of receiving metadata associated with thedigital video, the metadata including data representative of one or moreof movement and an environment associated with recording of the digitalvideo, processing the metadata to provide a suggested edit profileincluding at least one set of effects, the at least one set of effectsincluding one or more effects configured to be applied to at least aportion of the digital video, providing a respective graphicalrepresentation of individual effect of the one or more effects within aneffect interface, and receiving, through the effect interface, a userselection of a set of effects of the suggested edit profile, and inresponse, storing, in computer-readable memory, an edit profilecomprising the set of effects for application to the digital video.

FIGS. 1A and 1B illustrate an example mobile processing device 100. Inthe depicted example, the mobile processing device 100 is provided as asmartphone. It is contemplated, however, implementations of the presentdisclosure may be realized using video camera devices, tablet computingdevices, laptop computers, personal digital assistants (PDAs), mobilephones, or any one of many other known types of suitable mobileprocessing devices. In the depicted example, the mobile processingdevice 100 includes one or more processors 102, memory 104 (e.g.,computer-readable media, read-only memory (ROM), random access memory(RAM), flash memory, a removable memory card (e.g., SD card), a harddisk, or any combination thereof), a transmitter 106, a receiver 108, akeypad 110 (e.g., a soft key), a display 112, a user-interface (UI)module 114 (e.g., a graphical user interface module for touchscreendevices), speakers 116, a microphone 118, sensors 120, and a battery122. In some examples, the processor 102 may control each component ofthe mobile processing device 100 and may access memory 104 to runapplications 124, and/or retrieve user data 126, which may be stored inthe memory. The transmitter 106 and the receiver 108 transmit andreceive signals (e.g., via one or more antennas) to other communicationdevices, base stations, computers, satellites (e.g., GPS satellites),and/or wireless access points. The keypad 110, the display 112, thespeaker 116, and the microphone 118 are input/output devices forcommunicating with a user. The battery 122 provides power to appropriatecomponents of the mobile processing device.

In some examples, the processor 102 may include a display manager 128and an input manager 130. The display manager 128 may be operable tomanage displayed on the display 112. In some implementations, anoperating system running on the mobile device 102 may use the displaymanager 128 to arbitrate access to the display 112 for a number ofapplications 124 running on the mobile processing device 100. In someexamples, a number of applications 124 may run concurrently on themobile processing device 100, with each application displayed to theuser in respective windows on the display 112. In such examples, thedisplay manager 128 may control which portions of each application 124are displayed on the display 112. In some implementations, the displaymanager 128 may control the orientation (e.g., portrait orientation,landscape orientation) of the display 112. In some examples, the inputmanager 130 may be operable control the handling of data received from auser via one or more input devices of the mobile processing device 100.For example, the input manager 130 may determine which application 124should be invoked as a result of user received input. In someimplementations, the UI module 114 may coordinate with the input devicesto a interpret user input. The interpreted input may be evaluated by theinput manager 130 to determine which application 124 should be invoked.

In some implementations, the sensors 120 may be responsive to physicalmovement and/or the physical environment of the mobile processing device100, and generate data based thereon. Example sensors may include,without limitation, an inertial sensor, an accelerometer, a gyroscope, acompass, a barometer, and a temperature sensor. For example, responsiveto movement of the mobile processing device 100, a sensor (e.g., anaccelerometer) may provide data indicating attributes of the movement(e.g., force, speed, direction). As another example, responsive to achange in environment of the mobile processing device 100, a sensor(e.g., temperature sensor) may provide data indicating attributes of thechange (e.g., increase/decrease in temperature). In accordance withimplementations of the present disclosure, and as described in furtherdetail herein, data profiles (e.g., a series of data values) from one ormore sensors may be used to provide one or more suggested edits to oneor more moments captured in a digital video.

In some implementations, the mobile processing device 100 may provide adigital media editing environment. For example, a digital media editingapplication may be downloaded to and installed on the mobile processingdevice 100, which may execute the digital media editing application toprovide the digital media editing environment on the display 112 of themobile processing device 100. Example digital media editing environmentsare disclosed in commonly assigned U.S. application Ser. No. 14/234,653,filed on Jan. 24, 2014, which issued as U.S. Pat. No. 9,557,885 on Jan.31, 2017, and which claims priority to U.S. Prov. App. No. 61/521,624,filed on Aug. 9, 2011, and U.S. application Ser. No. 15/400,660, filedJan. 6, 2017, and which claims priority to U.S. Prov. App. No.62/276,627, filed Jan. 8, 2016, and U.S. Prov. App. No. 62/291,336,filed Feb. 4, 2016. The disclosures of each of the above-referencedapplications are expressly incorporated herein by reference in theirentireties.

FIG. 2 depicts an example architecture 200 in accordance withimplementations of the present disclosure. In the depicted example, thearchitecture 200 includes the mobile processing device 100 (e.g., asmartphone, a tablet computing device), a network 202, a media device204, a server system 406, and an ancillary device 208.

In some examples, the media device 204 includes any appropriate devicefor generating and storing, among other functionality, digital mediaobjects (e.g., digital videos). An example media device may include adigital camera that may be used to capture digital images, video, and/oraudio (as digital media objects). Example media devices include theGoPro Hero® series of digital video cameras provided by GoPro, Inc. Insome examples, the media device 204 stores digital media objects incomputer-readable memory. Example computer-readable memory may includeremovable memory, such as a non-volatile memory card (e.g., a securedigital (SD) storage care developed by the SD Card Association (SDA) foruse in portable devices). In some examples, the media device 204includes one or more components, such as components described above withreference to the mobile processing device 100 (e.g., one or moreprocessors, memory, a transmitter, a receiver, a display, speakers, amicrophone, sensors, a battery). In some examples, the media device 204may provide a digital media editing environment. For example, a digitalmedia editing application may be downloaded to and installed on themedia device 204, which may execute the digital media editingapplication to provide the digital media editing environment.

In some examples, the server systems 206 includes one or more computingdevices, and computer-readable memory, and may represent various formsof server systems including, but not limited to a web server, anapplication server, a proxy server, a network server, or a server farm.

In some examples, the mobile processing device 100, the media device204, and/or the server system 206 may store one or more digital mediaunits (also referred to herein as digital media objects, or objects)(e.g., a digital video file, a digital image file, a digital audiofile). For example, the server system 206 may host one or morecomputer-implemented services, which may be used (e.g., by a user of themobile processing device 100) to, for example, store, share, and/or editdigital media objects. Example computer-implemented services may includea computer-implemented social networking service, a computer-implementedmicro-blogging service, and a computer-implemented content-sharingservice. An example social networking service may include Facebook®provided by Facebook, Inc. An example micro-blogging service may includeTwitter® provided by Twitter Inc. Example content-sharing servicesinclude image-sharing services and/or video-sharing services. An examplecontent-sharing service includes Instagram® provided by Facebook, Inc.It is contemplated, however, that implementations of the presentdisclosure may be realized in any appropriate computer-implementedservices (e.g., multiple social networking services, multiplemicro-blogging services, multiple content-sharing services, and/or anyother appropriate computer-implemented service).

In some examples, the mobile processing device 100 communicates with themedia device 204, and/or the server system 206 over the network 202 toaccess objects stored thereby. In some examples, the network 202 may bea public communication network (e.g., the Internet, cellular datanetwork, dialup modems over a telephone network), a wide area network(WAN), a local area network (LAN), a private communications network(e.g., private LAN, leased lines), a wireless network, a wirelessconnection between devices, or any appropriate combination thereof. Inone example, the mobile processing device 100 may communicate with themedia device 204 over the network 202 (e.g., as a wireless connection(WiFi, Bluetooth)) to access objects stored by the media device 204. Inanother example, the mobile processing device 100 may communicate withthe server system 206 over the network 202 (e.g., the Internet) toaccess objects stored by the server system 206.

In the depicted example, the ancillary device 208 is provided as awearable device (e.g., a fitness tracker, a smartwatch). In someimplementations, the ancillary device 208 includes one or morecomponents, such as components described above with reference to themobile processing device 100 (e.g., one or more processors, memory, atransmitter, a receiver, a display, speakers, a microphone, sensors, abattery). Although depicted as a wearable device, the ancillary device208 may include any appropriate device that is responsive to movementand/or environment, and that may provide respective data based thereon,as well as able to communicate with other devices over the network 202(e.g., the Internet, wireless connection (WiFi, Bluetooth)). Forexample, the ancillary device 208 may be representative of a vehicletelemetry device, which provides vehicle telemetry data (e.g., altitude,speed, pitch, roll, acceleration, yaw) of a vehicle.

In accordance with implementations of the present disclosure, a digitalvideo may be recorded by the media device 204 (e.g., digital videocamera), and metadata that describes movement and/or environmentassociated with recordation of the digital video may be recorded. Insome examples, the metadata may be recorded by one or more of the mobileprocessing device 100, the media device 204, and the ancillary device208. For example, a user may include a skier, who uses the media device204 to record digital video (e.g., mounted on a helmet of the skier),while the mobile processing device 100 is in a pocket, and the user iswearing the ancillary device 208. In some examples, in response tobeginning recording of the digital video, a signal may be sent to eachof the mobile processing device 100, and the ancillary device 208 (e.g.,from the media device 204), instructing each to begin recording ofmetadata. In some examples, in response to ending recording of thedigital video, a signal may be sent to each of the mobile processingdevice 100, and the ancillary device 208 (e.g., from the media device204), instructing each to end recording of metadata. In some examples,the mobile processing device 100, and/or the ancillary device 208 eachregularly record metadata, and cache metadata (e.g., regardless ofactivities of the media device 204). In some examples, in response toending recording of the digital video, a request is sent to the mobileprocessing device 100, and/or the ancillary device 208 for historicalmetadata (e.g., going back to the time, at which recording of thedigital video began). In some implementations, recorded metadata (e.g.,recorded by the media device 204, the mobile processing device 100,and/or the ancillary device 208) is associated with the digital video(e.g., is appended to a file containing the digital video).

In accordance with implementations of the present disclosure, and asintroduced above, the metadata includes data indicative of movementand/or an environment associated with the digital video. In someexamples, metadata may also include information about the video digitalitself, the device used to capture the video, the environment or settingin which a video is captured, or any other information associated withthe capture of the digital video. Example metadata may include, withoutlimitation, motion data, speed data, acceleration data, altitude data,GPS data, compass data, temperature data, and barometric data. Forexample, and continuing with the example of the user being a skier,metadata may include acceleration data representative of theacceleration of the media device 204 carried by the user as a digitalvideo is recorded while skiing, as well as accelerations of the mobileprocessing device 100 and the ancillary device 208, compass data of themobile processing device 100, a heart rate of the user, and anyappropriate metadata captured during recording of the digital video.

In some implementations, the metadata may be processed to identifypotential events of interest within the digital video (e.g., to identifymoments within the digital video). Systems and methods for identifyinginteresting events in digital videos based on metadata are described incommonly assigned, U.S. application Ser. No. 14/513,149, filed on Oct.13, 2014, the disclosure of which is expressly incorporated herein byreference in the entirety.

In accordance with implementations of the present disclosure, metadatamay be processed to provide one or more suggested edits to a digitalvideo. In some examples, one or more suggested edits are provided forrespective moments captured in the digital video. In some examples, amoment includes a scene, or multiple scenes recorded in the digitalvideo. In some implementations, a suggested edit may include one or moreeffects that may be applied to one or more frames of the digital video.Example effects may include, without limitation, slow motion, zoom-in,zoom-out, color effects, sound effects, music tracks, volume,pixilation, and the like.

In some implementations, a video editing module (e.g., of a videoediting application executing on one of the mobile processing device100, the media device 204, the server system 206) analyzes metadataassociated with a digital video to identify scenes of interest (e.g.,which include identified events of interest, and/or activities).Examples of events of interest may be indicated by abrupt changes oranomalies in the metadata, such as a peak or valley in metadata maximumor minimum values within the metadata, metadata exceeding or fallingbelow particular thresholds, metadata within a threshold of predeterminevalues (for instance, within 20 meters of a particular location orwithin the particular location), and the like. The video editing modulemay identify events of interest based on any other type of metadata,such as a heart rate of a user, orientation information, and the like.

In some examples, the video editing module may identify any of thefollowing as an event of interest within the metadata: a greater thanthreshold change in acceleration or velocity within a pre-determinedperiod of time, a maximum or above-threshold velocity or acceleration, amaximum or local maximum altitude, a maximum or above-threshold heartrate or breathing rate of a user, a maximum or above-threshold audiomagnitude, a user location within a pre-determined threshold distancefrom a pre-determined location, a threshold change in or pre-determinedorientation of the camera or user, a proximity to another user orlocation, a time within a threshold of a pre-determined time, apre-determined environmental condition (such as a particular weatherevent, a particular temperature, a sporting event, a human gathering, orany other suitable event), or any other event associated with particularmetadata.

In some implementations, a user may manually indicate an event ofinterest during capture of the video, and the metadata may reflect suchmanual indication(s). For example, a user may press a button on themedia device 204 (or a camera remote), or otherwise interact with themedia device 204 during the capture of video to tag an instant in thevideo as including an event of interest. For example, if a user iscapturing video while skiing, and presses a button of the media device204 associated with manually tagging an event of interest, the mediadevice 204 creates metadata associated with the captured videoindicating that the video includes an event of interest, and indicatinga time or portion within the captured video, at which the tagged eventof interest occurs. In some examples, the manual tagging of an event ofinterest by a user while capturing video is stored as a flag within aresulting digital video file. The location of the flag within thedigital video file corresponds to a time within the video, at which theuser manually tags the event of interest.

In some implementations, a user may manually indicate an event ofinterest during capture of the video using a spoken command or audiosignal. For example, a user may say “Tag,” or “Tag my moment,” duringthe capture of video to tag the video as including an event of interest.The audio-tagged event of interest may be indicated within metadataassociated with the captured video. The spoken command may bepre-programmed, for example, by a manufacturer, programmer, or seller ofthe media device 204, or may be customized by a user of the media device204. For example, a user may speak a command or other audio signal intothe media device 204 during a training period (e.g., in response toconfiguring the media device 204 into a training mode, or in response tothe selection of a button or interface option associated with trainingthe media device 204 to receive a spoken command). An audio pattern isstored in the media device 204, and, during a video capture, the mediadevice 204 may identify the audio pattern in a spoken command or audiosignal received from the user, and may manually tag an event of interestduring the capture of video in response to detecting the stored audiopattern within the received spoken command or audio signal.

In some implementations, the video editing module may identify events ofinterest based on audio captured in conjunction with the video. In someexamples, the video editing module identifies events of interest basedon one or more spoken words or phrases in captured audio. For example,if audio of an excited utterance of a user (e.g., “Holy Smokes!”) iscaptured, the video editing module may determine that an event ofinterest occurred contemporaneously with the excited utterance (e.g.,within the previous 5 seconds or other threshold of time). As anotherexample, if audio of a user saying an anticipatory excited utterance(e.g., “Oh no! Watch out!”) is captured, the video editing module maydetermine that an event of interest is about to occur (e.g., within thenext 5 seconds, or other threshold of time). In addition to identifyingevents of interest based on captured dialogue, the video editing modulemay identify an event of interest based on captured sound effects,captured audio exceeding a magnitude or pitch threshold, or capturedaudio satisfying any other suitable criteria.

In some implementations, the video editing module may identify videothat does not include events of interest. For example, and as describefurther herein, the video editing module may identify video that isassociated with metadata patterns determined to not be of interest to auser. Such patterns may include metadata associated with abelow-threshold movement, a below-threshold luminosity, audio data thatdoes not include dialogue or other notable sound effects, and the like.In some examples, and as described in further detail herein, videodetermined to not include events of interest may still have suggestededits associated therewith.

As described herein, the video editing module may identify events ofinterest based on activities and/or environment associated withrecording of the video. For example, a jump while skiing, or a crashwhile skateboarding, may be considered events of interest. In someimplementations, activities may be identified by an activity identifiermodule (e.g., of a video editing application executing on one of themobile processing device 100, the media device 204, the server system206) based on metadata associated with the video. Continuing with theprevious example, metadata associated with a particular altitude and aparabolic upward and then downward velocity may be identified as a“jump” activity, and a sudden slowdown in velocity and accompanyingnegative acceleration (deceleration) may be identified as a “crash”activity.

In some implementations, the activity identifier module may receive amanual identification of an activity within videos from one or moreusers. In some examples, activities may be tagged during the capture ofvideo. For example, if a user is about to capture video while performinga jump, the user may manually tag the video being captured or about tobe captured as “jump.”

In accordance with implementations of the present disclosure, eacheffect, or a combination of effects that may be applied to the digitalvideo may be suggested based on the metadata. For example, values of themetadata may be compared to one or more threshold values, and, if thevalues meet the thresholds, a corresponding effect, or multiple effectsmay be suggested (e.g., as described above with respect to identifyingevents of interest). For example, metadata may include accelerationvalues, which may be compared to one or more thresholds. In someexamples, an acceleration value meeting a first threshold may beindicative of a beginning of an event (e.g., rapidacceleration/deceleration of the skier, a maneuver (jump, flip)performed by the skier). In response to the acceleration value exceedingthe first threshold, a suggested effect (e.g., slow motion) may beprovided. In some examples, the suggested effect may be associated witha corresponding timestamp of the digital video, and/or a particularframe (e.g., based on unique frame identifier) of the digital video.

In some implementations, one or more attributes may be provided for eachsuggested effect. Example attributes may include, without limitation,degree, and duration. For example, if the suggested effect includes slowmotion, the degree of slow motion (e.g., three-quarter speed, halfspeed, quarter speed) may be provided based on the extent, to which theacceleration value exceeds the first threshold. For example, for a firstacceleration, a first degree may be provided, and for a secondacceleration, a second degree may be provided, where, for example, thefirst acceleration is greater than the second acceleration, and thefirst degree (e.g., three-quarter speed) is slower than the seconddegree (e.g., quarter speed). In other words, for more rapidaccelerations, a slower motion effect may be suggested than for lessrapid accelerations.

In some examples, an acceleration value meeting a second threshold maybe indicative of an end of an event (e.g., rapidacceleration/deceleration of the skier, a maneuver (jump, flip)performed by the skier). In response to the acceleration value meetingthe second threshold, an end to the suggested effect (e.g., slow motion)may be provided. In some examples, the end of the suggested effect maybe associated with a corresponding timestamp of the digital video,and/or a particular frame (e.g., based on unique frame identifier) ofthe digital video. In some examples, the suggested effect may beassociated with a duration (e.g., in seconds, minutes).

In some implementations, metadata may be indicative of an uninterestingevent. For example, a period of time in the digital video, during whichnothing of significant consequence occurs (e.g., a skier slowly skiingalong a cat-track for a matter of minutes), may be determined to be anuninteresting event. Metadata (e.g., accelerometer data, GPS data,compass data) may be indicative of such an event (e.g., relativelyconstant, relatively slow speed, in a relatively constant direction).Consequently, a corresponding effect may be suggested (e.g., cropping ofthe digital video during the period of the event, fast-forward of thedigital video during the period of the event).

In accordance with implementations of the present disclosure, asuggested edit profile may be provided, which includes one or moresuggested effects for editing the digital video. In someimplementations, for each of one or more events, a set of effects isprovided. Continuing with the example above, a digital video may includea skier skiing slowly along a cat-track before rapidly accelerating andperforming a jump. Accordingly, an example suggested edit profile mayinclude a first set of effects, and a second set of effects, the firstset of effects corresponding to the slow ski along the cat-track, andthe second set of effects corresponding to the rapid acceleration andjump.

In some implementations, each set of effects includes one or moresuggested effects that may be applied to the digital video,corresponding to a respective event. Continuing with the example above,a first set of effects may be provided for the slow ski along thecat-track, and a second set of effects may be provided for the rapidacceleration and jump. For example, the first set of effects may includecropping of the slow ski along the cat-track. As another example, thefirst set of effects may include fast forwarding of the slow ski alongthe cat-track, and a suggested music track (e.g., the theme music to theBenny Hill Show). As another example, the second set of effects mayinclude slow motion of the rapid acceleration and jump, and a reductionin volume of audio.

In some examples, for each suggested effect, one or more attributes(e.g., a degree, and/or duration of the suggested effect) may beprovided. For example, the first set of effects may include a degree offast forwarding (e.g., double speed) for the duration of the slow skialong the cat-track. As another example, the second set of effects mayinclude a degree of slow-motion (e.g., half speed) for the duration ofthe rapid acceleration and jump.

In some implementations, the suggested edit profile is provided ascomputer-readable file that stores a data set that includes datasub-sets. For example, the suggested edit profile (SEP) includes one ormore sets of effects (SE₁, . . . , SE_(n)). In some examples, each setof effects includes one or more effects, each effect defined as a tupleof attributes (e.g., [T₁, a_(1,1), a_(1,p)]; [T₂, a_(2,1), . . . ,a_(2,q)]). For purposes of illustration, an example suggested editprofile may include:SEP→([T₁,a_(1,1),a_(1,2),a_(1,3)]¹;[T₂,a_(2,1),a_(2,2),a_(2,3)]²)In this example, the SEP includes a first set of effects ([ . . . ]¹),and a second set of effects ([ . . . ]²), where T indicates a type ofeffect (e.g., slow motion, fast forward), and a indicates respectiveattributes of the effect (e.g., degree, duration). Continuing with theexample above, the first set of effects may include an effect of fastforwarding (e.g., T₁=FF) at double speed (e.g., a_(1,1)=2.0) for theduration of the slow ski along the cat-track (e.g., a_(1,2)=t_(start),and a_(1,3)=t_(stop); where t is a timestamp of the video, or a frameidentifier). As another example, the second set of effects may includean effect slow-motion (e.g., T₂=SM) at half speed (e.g., a2,1=0.5) forthe duration of the rapid acceleration and jump (e.g.,a_(2,2)=t_(start), and a_(2,3)=t_(stop); where t is a timestamp of thevideo, or a frame identifier). Although each of the above-describedexample sets of effects includes a single effect, it is contemplatedthat a set of effects may include multiple effects (e.g., slow motion,volume reduction, color change to black-white).

In some implementations, a graphical representation of the suggestededit profile may be displayed to the user, and the user may accept oneor more of the sets of effects, and/or modify one or more effects in theone or more sets of effects before accepting. For example, each set ofeffects may be visually displayed to the user in a digital media editingapplication, to enable the user to accept, delete, and/or modify one ormore of the sets of effects in a suggested edit profile.

FIGS. 3A and 3B depict example screenshots of a digital media editingapplication in accordance with implementations of the presentdisclosure. With particular reference to FIG. 3A, an editing environment300 is displayed (e.g., on a display of the mobile processing device100), and, in the depicted example, includes a video preview 302, atimeline view 304, and an effect interface 306. In the example of FIG.3A, a first set of effects is indicated by a first graphicalrepresentation 308, and a second set of effects is indicated by a secondgraphical representation 310 within the timeline view 304.

In some implementations, in response to user selection of a graphicalrepresentation, effects and respective attributes of the effects aredisplayed in the effect interface 306. In the example of FIG. 3A, a userhas selected the second set of effects (e.g., has tapped on the secondgraphical representation 310), and in response, suggested effects ofslow motion (slow), zoom, and volume, as well as suggested degrees ofeach, are graphically depicted in the effect interface 306. In thedepicted example, each effect is associated with a slider-bar thatenables the user to change a setting of the attribute. In some examples,an interface may be provided to enable the user to remove a suggestedeffect. In the depicted example, an interface is provided to enable theuser to add an effect. In some examples, the user may preview the video,including the respective sets of effects as applied to the video, in thevideo preview 302.

FIG. 3B depicts user edits to the example effects graphicallyrepresented in the effect interface 306. For example, and as compared tothe setting of FIG. 3A, the user has adjusted the respective degree ofeach of the slow motion effect, and the volume effect, and has removedthe zoom effect. In some examples, when the user is satisfied with theedits, the user may select an accept interface to commit the edits tothe video.

In some implementations, and as noted above, the edits may be providedin an edit profile provided as computer-readable file that is appendedto, or otherwise associated with a file containing the digital video(e.g., a digital video file). In some examples, when the video issubsequently played (e.g., by a video player), the edit profile is readas a set of instructions for applying respective effects as the video isplayed. In this manner, an edited video is not stored as a separatedigital video file, from the original video. In another example, anedited digital video is provided based on the edit profile, and isstored as a separate digital video file (e.g., separate from the digitalvideo file of the original video).

FIG. 4 depicts an example process 400 that may be executed in accordancewith implementations of the present disclosure. In some examples, theexample process 400 may be provided by one or more computer-executableprograms executed using one or more computing devices (e.g., the mobilecomputing device 100). In some examples, the example process 400 isexecuted to provide an edit profile that includes one or more suggestededits to a digital video.

Metadata associated with the digital video is received (402). Forexample, a video editing module (e.g., of a video editing applicationexecuting on one of the mobile processing device 100, the media device204, the server system 206). In some examples, the metadata is receivedfrom one or more of the mobile processing device 100, the media device204, and the ancillary device 208 of FIG. 2. In some examples, themetadata includes data representative of one or more of movement and anenvironment associated with recording of the digital video. The metadatais processed to provide a suggested edit profile (404). For example, thevideo editing module processes the metadata to identify, as described infurther detail herein, a greater than threshold change in accelerationor velocity within a pre-determined period of time, a maximum orabove-threshold velocity or acceleration, a maximum or local maximumaltitude, a maximum or above-threshold heart rate or breathing rate of auser, a maximum or above-threshold audio magnitude, a user locationwithin a pre-determined threshold distance from a pre-determinedlocation, a threshold change in or pre-determined orientation of thecamera or user, a proximity to another user or location, a time within athreshold of a pre-determined time, a pre-determined environmentalcondition (such as a particular weather event, a particular temperature,a sporting event, a human gathering, or any other suitable event), orany other event associated with particular metadata. In some examples,the suggested edit profile includes at least one set of effects, the atleast one set of effects including one or more effects that can beapplied to at least a portion of the digital video.

A respective graphical representation of each effect of the one or moreeffects is displayed within an effect interface (406). For example, andas depicted in the examples of FIGS. 3A and 3B, an editing environmentmay be displayed (e.g., on a display of the mobile processing device100), and may include respective graphical representations of sets ofeffects, and/or individual effects, provided in the suggested editprofile. A user selection of a set of effects of the suggested editprofile is received (408). For example, the user selects a set ofeffects using an effect interface displayed in the editing environment.An edit profile is provided (410). for example, and in response to oneor more user selections, an edit profile is provided from the suggestededit profile. In some examples, the edit profile includes at least oneset of effects of the suggested edit profile, whether or not modified bythe user. In some examples, the edit profile includes the set of effectsfor application to the digital video.

Although described in the context of a mobile device applicationoperating on a mobile processing device, it is contemplated thatimplementations of the present disclosure, and all of the functionaloperations provided herein, may be realized in any suitable type ofdigital electronic circuitry, or in computer software, firmware, orhardware, including the structures disclosed in this specification andtheir structural equivalents, or in combinations of one or more of them.Implementations of the present disclosure may also be realized as one ormore computer program products, i.e., one or more modules of computerprogram instructions encoded on a computer readable medium for executionby, or to control the operation of, data processing apparatus. Thecomputer readable medium may be a machine-readable storage device, amachine-readable storage substrate, a memory device, a composition ofmatter effecting a machine-readable propagated signal, or a combinationof one or more of them. The term “data processing apparatus” encompassesall apparatus, devices, and machines for processing data, including byway of example a programmable processor, a computer, or multipleprocessors or computers. The apparatus may include, in addition tohardware, code that creates an execution environment for the computerprogram in question, e.g., code that constitutes processor firmware, aprotocol stack, a database management system, an operating system, or acombination of one or more of them.

A computer program (also known as a program, software, softwareapplication, script, or code) may be written in any form of programminglanguage, including compiled or interpreted languages, and it may bedeployed in any form, including as a stand alone program or as a module,component, subroutine, or other unit suitable for use in a computingenvironment. A computer program does not necessarily correspond to afile in a file system. A program may be stored in a portion of a filethat holds other programs or data (e.g., one or more scripts stored in amarkup language document), in a single file dedicated to the program inquestion, or in multiple coordinated files (e.g., files that store oneor more modules, sub programs, or portions of code). A computer programmay be deployed to be executed on one computer or on multiple computersthat are located at one site or distributed across multiple sites andinterconnected by a communication network.

The processes and logic flows described in this disclosure may beperformed by one or more programmable processors executing one or morecomputer programs to perform functions by operating on input data andgenerating output. The processes and logic flows may also be performedby, and apparatus may also be implemented as, special purpose logiccircuitry, e.g., an FPGA (field programmable gate array) or an ASIC(application specific integrated circuit).

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andany one or more processors of any kind of digital computer. Generally, aprocessor will receive instructions and data from a read only memory ora random access memory or both. Elements of a computer may include aprocessor for performing instructions and one or more memory devices forstoring instructions and data. Generally, a computer will also include,or be operatively coupled to receive data from or transfer data to, orboth, one or more mass storage devices for storing data, e.g., magnetic,magneto optical disks, or optical disks. However, a computer need nothave such devices. Moreover, a computer may be embedded in anotherdevice, e.g., a mobile telephone, a personal digital assistant (PDA), amobile audio player, a Global Positioning System (GPS) receiver, to namejust a few. Computer readable media suitable for storing computerprogram instructions and data include all forms of non-volatile memory,media and memory devices, including by way of example semiconductormemory devices, e.g., EPROM, EEPROM, and flash memory devices; magneticdisks, e.g., internal hard disks or removable disks; magneto opticaldisks; and CD ROM and DVD-ROM disks. The processor and the memory may besupplemented by, or incorporated in, special purpose logic circuitry.

To provide for interaction with a user, implementations of the presentdisclosure may be implemented on a computer having a display device,e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor,for displaying information to the user and a keyboard and a pointingdevice, e.g., a mouse or a trackball, by which the user may provideinput to the computer. Other kinds of devices may be used to provide forinteraction with a user as well; for example, feedback provided to theuser may be any form of sensory feedback, e.g., visual feedback,auditory feedback, or tactile feedback; and input from the user may bereceived in any form, including acoustic, speech, or tactile input.

While this disclosure includes some specifics, these should not beconstrued as limitations on the scope of the disclosure or of what maybe claimed, but rather as descriptions of features of exampleimplementations of the disclosure. Certain features that are describedin this disclosure in the context of separate implementations may alsobe provided in combination in a single implementation. Conversely,various features that are described in the context of a singleimplementation may also be provided in multiple implementationsseparately or in any suitable sub-combination. Moreover, althoughfeatures may be described above as acting in certain combinations andeven initially claimed as such, one or more features from a claimedcombination may in some cases be excised from the combination, and theclaimed combination may be directed to a sub-combination or variation ofa sub-combination.

Similarly, while operations are depicted in the drawings in a particularorder, this should not be understood as requiring that such operationsbe performed in the particular order shown or in sequential order, orthat all illustrated operations be performed, to achieve desirableresults. In certain circumstances, multitasking and parallel processingmay be advantageous. Moreover, the separation of various systemcomponents in the implementations described above should not beunderstood as requiring such separation in all implementations, and itshould be understood that the described program components and systemsmay generally be integrated together in a single software product orpackaged into multiple software products.

Thus, particular implementations of the present disclosure have beendescribed. Other implementations are within the scope of the followingclaims. For example, the actions recited in the claims may be performedin a different order and still achieve desirable results. A number ofimplementations have been described. Nevertheless, it will be understoodthat various modifications may be made without departing from the spiritand scope of the disclosure. For example, various forms of the flowsshown above may be used, with steps re-ordered, added, or removed.Accordingly, other implementations are within the scope of the followingclaims.

What is claimed is:
 1. A computer-implemented method for providing anedit profile comprising one or more suggested edits to a digital video,the method being executed by one or more processors of a computingdevice and comprising: receiving, by the one or more processors,metadata associated with the digital video, the metadata comprising datarepresentative of a movement and an environment associated withrecording of the digital video; processing, by the one or moreprocessors, the metadata to provide a suggested edit profile comprisingat least one set of effects, the at least one set of effects comprisingone or more effects configured to be applied to at least a portion ofthe digital video, the suggested edit profile determined based on themovement and the environment; providing, by the one or more processors,a respective graphical representation of individual effect of the one ormore effects within an effect interface; and receiving, by the one ormore processors, and through the effect interface, a user selection of aset of effects of the suggested edit profile, and in response, storing,in computer-readable memory, an edit profile comprising the set ofeffects for application to the digital video; wherein the determinationof the suggested edit profile based on the movement and the environmentincludes: determining a first suggested edit profile based on themovement being of a first type of movement and the environment being ofa first type of environment; determining a second suggested edit profilebased on the movement being of a first type of movement and theenvironment being of a second type of environment; determining a thirdsuggested edit profile based on the movement being of a second type ofmovement and the environment being of the first type of environment; anddetermining a fourth suggested edit profile based on the movement beingof the second type of movement and the environment being of the secondtype of environment; wherein: the first suggested edit profile isdifferent from the second suggested edit profile, the third suggestededit profile, and the fourth suggested edit profile the second suggestededit profile is different from the third suggested edit profile, and thefourth suggested edit profile; and the third suggested edit profile isdifferent from the fourth suggested edit profile.
 2. The method of claim1, wherein processing the metadata to provide a suggested edit profilecomprises determining that at least one attribute value breaches athreshold, and in response, providing the at least one set of effects.3. The method of claim 1, wherein processing the metadata to provide asuggested edit profile comprises determining a type of effect to includein the at least one set of effects based on the metadata.
 4. The methodof claim 1, wherein determining a type of effect comprises comparing atleast one metadata value to a threshold value, and one of: including afirst effect in the at least one set of effects if the metadata valuebreaches the threshold value, and including a second effect in the atleast one set of effects if the metadata value does not breach thethreshold value.
 5. The method of claim 1, wherein each effect isassociated with one or more attributes.
 6. The method of claim 5,further comprising receiving user input indicating a modification to atleast one attribute.
 7. The method of claim 5, wherein an attributecomprises one of a degree of a respective effect, a beginning of arespective effect, an end of a respective effect, and a duration of arespective effect.
 8. The method of claim 1, wherein the at least oneset of effects is associated with an event that is identified as anevent of interest based on the metadata.
 9. The method of claim 1,wherein the at least one set of effects is associated with an event thatis not identified as an event of interest based on the metadata.
 10. Themethod of claim 1, wherein an effect comprises slow motion, fastforward, zoom-in, zoom-out, a color effect, a sound effect, insertion ofa music track, a volume effect, a pixilation effect.
 11. Anon-transitory computer-readable storage medium coupled to one or moreprocessors and having instructions stored thereon which, when executedby the one or more processors, cause the one or more processors toperform operations providing an edit profile comprising one or moresuggested edits to a digital video, the operations comprising: receivingmetadata associated with the digital video, the metadata comprising datarepresentative of a movement and an environment associated withrecording of the digital video; processing the metadata to provide asuggested edit profile comprising at least one set of effects, the atleast one set of effects comprising one or more effects configured to beapplied to at least a portion of the digital video, the suggested editprofile determined based on the movement and the environment; providinga respective graphical representation of individual effect of the one ormore effects within an effect interface; and receiving and through theeffect interface, a user selection of a set of effects of the suggestededit profile, and in response, storing, in computer-readable memory, anedit profile comprising the set of effects for application to thedigital video; wherein the determination of the suggested edit profilebased on the movement and the environment includes: determining a firstsuggested edit profile based on the movement being of a first type ofmovement and the environment being of a first type of environment;determining a second suggested edit profile based on the movement beingof a first type of movement and the environment being of a second typeof environment; determining a third suggested edit profile based on themovement being of a second type of movement and the environment being ofthe first type of environment; and determining a fourth suggested editprofile based on the movement being of the second type of movement andthe environment being of the second type of environment; wherein: thefirst suggested edit profile is different from the second suggested editprofile, the third suggested edit profile, and the fourth suggested editprofile the second suggested edit profile is different from the thirdsuggested edit profile, and the fourth suggested edit profile; and thethird suggested edit profile is different from the fourth suggested editprofile.
 12. The non-transitory computer-readable storage medium ofclaim 11, wherein processing the metadata to provide a suggested editprofile comprises determining that at least one attribute value breachesa threshold, and in response, providing the at least one set of effects.13. The non-transitory computer-readable storage medium of claim 11,wherein processing the metadata to provide a suggested edit profilecomprises determining a type of effect to include in the at least oneset of effects based on the metadata.
 14. The non-transitorycomputer-readable storage medium of claim 11, wherein determining a typeof effect comprises comparing at least one metadata value to a thresholdvalue, and one of: including a first effect in the at least one set ofeffects if the metadata value breaches the threshold value, andincluding a second effect in the at least one set of effects if themetadata value does not breach the threshold value.
 15. A system,comprising: a data source; and a computing device having acomputer-readable storage device having instructions stored thereonwhich, when executed by the computing device, cause the computing deviceto perform operations for providing an edit profile comprising one ormore suggested edits to a digital video, the operations comprising:receiving metadata associated with the digital video, the metadatacomprising data representative of a movement and an environmentassociated with recording of the digital video, processing the metadatato provide a suggested edit profile comprising at least one set ofeffects, the at least one set of effects comprising one or more effectsconfigured to be applied to at least a portion of the digital video, thesuggested edit profile determined based on the movement and theenvironment, providing a respective graphical representation ofindividual effect of the one or more effects within an effect interface,and receiving and through the effect interface, a user selection of aset of effects of the suggested edit profile, and in response, storing,in computer-readable memory, an edit profile comprising the set ofeffects for application to the digital video; wherein the determinationof the suggested edit profile based on the movement and the environmentincludes: determining a first suggested edit profile based on themovement being of a first type of movement and the environment being ofa first type of environment; determining a second suggested edit profilebased on the movement being of a first type of movement and theenvironment being of a second type of environment; determining a thirdsuggested edit profile based on the movement being of a second type ofmovement and the environment being of the first type of environment; anddetermining a fourth suggested edit profile based on the movement beingof the second type of movement and the environment being of the secondtype of environment; wherein: the first suggested edit profile isdifferent from the second suggested edit profile, the third suggestededit profile, and the fourth suggested edit profile the second suggestededit profile is different from the third suggested edit profile, and thefourth suggested edit profile; and the third suggested edit profile isdifferent from the fourth suggested edit profile.
 16. The system ofclaim 15, wherein processing the metadata to provide a suggested editprofile comprises determining that at least one attribute value breachesa threshold, and in response, providing the at least one set of effects.17. The system of claim 15, wherein processing the metadata to provide asuggested edit profile comprises determining a type of effect to includein the at least one set of effects based on the metadata.
 18. The systemof claim 15, wherein determining a type of effect comprises comparing atleast one metadata value to a threshold value, and one of: including afirst effect in the at least one set of effects if the metadata valuebreaches the threshold value, and including a second effect in the atleast one set of effects if the metadata value does not breach thethreshold value.
 19. The system of claim 15, wherein each effect isassociated with one or more attributes.